package chapter1;

/**
 * @Author juzipi
 * @Date 2021/5/11 11:00
 * @Info
 */
public class StringTest {

    public static void main(String[] args) {
        //因为一个类加载器收到类加载请求时它并不会先去加载，会把这个请求委托给父类的加载器去执行
        //如果父类加载器还存在父类就继续向上委托，如果完成了类加载就成功返回
        //所以new String的时候会去找它的父类加载器，然后一直找到启动类加载器，启动类加载器只加载包名为java，javax，sun等开头的
        //所以new的不是我们自己创建的String类，而是java内部的String类
        String s = new String();
        System.out.println("你好");

        //当引导类加载器，扩展类加载器都没有找到此类，就会用系统类加载器加载
        //不会出现没有加载器加载类的情况，因为默认就是系统类加载器加载
        StringTest stringTest = new StringTest();
        System.out.println(stringTest.getClass().getClassLoader());
    }

}
